Merged
Conversation
This commit implements comprehensive improvements to the slim_setup() function to make SLiM installation more reliable and user-friendly. Major improvements: 1. **Version Selection**: Added slim_version parameter to choose between "stable" (SLiM 4.x, fully compatible) and "latest" (SLiM 5.x+, may have issues). Default is "stable" for better out-of-box experience. 2. **Automatic Conda TOS Acceptance**: New accept_conda_tos() helper automatically accepts Terms of Service for conda channels, eliminating installation failures and manual intervention. 3. **Robust Error Handling**: Added structured, actionable error messages with platform-specific guidance (macOS/Linux/Windows) and troubleshooting steps for all failure scenarios. 4. **Download Retry Logic**: New download_with_retry() helper implements exponential backoff retry logic for more reliable binary downloads. 5. **Installation Progress Feedback**: Added informative progress messages throughout installation process with time estimates. 6. **Post-Installation Verification**: Automatically runs slim_test() and reports installed version, catching issues immediately with helpful guidance. 7. **SLiM 5.x Compatibility Warning**: Detects SLiM 5.x installations and warns users about potential compatibility issues with slimr. 8. **Graceful Conda Environment Handling**: Improved logic handles existing conda installations, TOS requirements, and edge cases robustly. All changes maintain full backward compatibility. The only behavioral change is that conda method now defaults to installing SLiM 4.x instead of 5.x, improving compatibility with slimr. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Feature/improve slim setup
Modified the slim_version parameter in slim_setup() to accept specific version numbers (e.g., "4.2.2", "5.1") in addition to the special value "stable" (which installs SLiM 4.2.2 as the last known stable version compatible with slimr). Changes: - Removed "latest" option in favor of specific version numbers - Updated get_slim_conda_spec() to construct version-specific conda package specifications - Changed parameter validation from match.arg() to explicit character string validation - Updated documentation to reflect new parameter behavior - Updated informative messages to show specific version being installed 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Updated R-CMD-check workflow to download SLiM 4.2.2 from GitHub releases instead of always downloading the latest version from benhaller.com. This ensures CI tests run with a version compatible with the current slimr package. For conda-based installations, slim_setup() now defaults to "stable" (4.2.2), so those will also use the correct version. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
SLiM 4.2.2 source code has compilation issues with the newer Xcode/clang in macOS-latest (Xcode 16.4, clang 17). Use macos-13 runner for tests that compile SLiM from source, which has an older, compatible toolchain. Keep macOS-latest for conda-based tests since those don't need compilation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Changed macOS runner from macos-13 (deprecated) to macos-14 - Changed Ubuntu runner from ubuntu-20.04 (unsupported) to ubuntu-latest - Keeps macOS-latest for conda-based tests This ensures CI runs on currently supported GitHub Actions runners. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Regenerated documentation with roxygen2 7.3.3 to fix slim_version parameter documentation - Removed unused codetools import from DESCRIPTION - Added .claude directory and temp files to .Rbuildignore - Updated RoxygenNote to 7.3.3 in DESCRIPTION R CMD CHECK now passes with 0 errors, 0 warnings, and only 1 pre-existing NOTE about Rd formatting.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v0.4.1
This release includes significant improvements to the
slim_setup()function, making SLiM installation more reliable and user-friendly.Key Changes
slim_setup()function:slim_versionparameter now accepts specific version numbers (e.g., "4.2.2", "5.1") in addition to "stable" (default: SLiM 4.2.2)See NEWS.md for full details.